package com.aims.server.domain.vo;

import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 账户任务VO
 */
@Data
public class AccountTaskVO implements Serializable {

    /**
     * 任务ID(processInstanceId)
     */
    private Long taskId;

    /**
     * 账户ID
     */
    private Long accountId;

    /**
     * 任务名称
     */
    private String taskName;

    /**
     * 业务类型：1-开户，2-变更，3-销户
     */
    private Integer businessType;

    /**
     * 业务类型名称
     */
    private String businessTypeName;

    /**
     * 当前环节
     */
    private String currentStage;

    /**
     * 当前环节名称
     */
    private String currentStageName;

    /**
     * 期望完成日期
     */
    private String expectedFinishDate;

    /**
     * 是否加急：1-是，2-否
     */
    private Integer isUrgent;

    /**
     * 是否加急名称
     */
    private String isUrgentName;

    /**
     * 任务进度（百分比）
     */
    private Integer taskProgress;

    /**
     * 创建时间
     */
    private LocalDateTime createdDate;

    /**
     * 产品ID
     */
    private Long productId;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 账户类型
     */
    private String accountType;

    /**
     * 账户类型名称
     */
    private String accountTypeName;

    /**
     * 委托人
     */
    private String principal;

    /**
     * 经办人
     */
    private String agent;

    /**
     * 开户机构
     */
    private String institution;

    /**
     * 开户机构名称
     */
    private String institutionName;

    /**
     * 是否需要通过
     */
    private Boolean needsApproval;

    /**
     * 网银挂接方式
     */
    private String onlineBankingType;

    /**
     * 网银卡办理类型
     */
    private String cardTransactType;

    /**
     * 预留印鉴-公章
     */
    private String commonSeal;

    /**
     * 预留印鉴-财务专用章
     */
    private String financeSeal;

    /**
     * 子任务清单
     */
    private List<SubTaskVO> subTasks;

    /**
     * 委托信息
     */
    private DelegationInfoVO delegationInfo;

    /**
     * 辅助信息
     */
    private AuxiliaryInfoVO auxiliaryInfo;

    private static final long serialVersionUID = 1L;
}